In a storage product such as a disk array system or a storage system such as a computer, in order to back up data stored in a storage device (a storage or a memory device), various techniques are used. For example, an “advanced copy function” is known in which a storage controller such as a controller module (hereinafter, referred to as a CM) performs backup of data stored in a storage using firmware of the storage controller without using resources of a host apparatus (high-level apparatus).
Data backup techniques supported in the advanced copy function include a one point copy (OPC) function and a quick OPC (hereinafter, referred to as QOPC) function.
FIGS. 18 and 19 respectively illustrate the appearances of copy processes according to the OPC and the QOPC.
According to the OPC, a storage controller generates a snapshot of the data of a backup target at a copy start time point. As illustrated in FIG. 18, when an OPC start instruction (copy instruction) is received, the storage controller generates a snapshot of the copy source volume and issues a logical copy completion response to the host apparatus, thereby showing that the copy has been completed to the host apparatus. Then, the storage controller actually copies (physical copy) all the data of the copy source volume at a time point when the instruction is received on the background, thereby generating a copy destination volume.
In the OPC, in a case where there is an update instruction for an area of the copy source volume for which the background copy has not been completed, the storage controller performs the process of copying the data of the area to the copy destination volume before the update. In addition, in a case where there is a reference/update instruction for an area of the copy destination volume for which the background copy has not been completed, the storage controller performs a copy process of the area before the reference/update.
According to the OPC, the storage controller can generate a snapshot of a certain time point at high speed. Accordingly, after a response to the OPC start instruction is received, the host apparatus can perform reference/update of both the copy source volume and the copy destination volume.
In addition, as an extension function of such an OPC, there is the QOPC that realizes a differential copy.
As illustrated in FIG. 19, according to the QOPC, similar to the OPC, a copy destination volume of a copy source volume at a certain time point is generated. In addition, in the QOPC, different from the OPC, after a background copy is started, an update place at which data has been updated is stored. Therefore, in the QOPC, the storage controller can perform generation of a copy destination volume of the second time and after that, in other words, restarting by only making a copy on the background.
In addition, in the storage system, as a technique for efficiently using the resources available inside the storage device, there are cases where a storage virtualization function such as thin provisioning for decreasing the physical capacity of the storage by virtualization of resources of the storage is used.
FIGS. 20A and 20B are diagrams that illustrate an example of the storage virtualization function. FIG. 20A is a diagram that illustrates an example of a storage allocating process, and FIG. 20B is a diagram that illustrates an example of a storage releasing process.
Hereinafter, the storage virtualization function will be described to be the thin provisioning, and a logical volume (virtual volume) in the thin provisioning will be referred to as a thin provisioning volume (TPV).
In the thin provisioning, when a logical volume is to be generated, the storage controller allows the host apparatus to recognize a virtual volume (TPV) without mapping with a physical disk arranged inside a storage pool. Then, when a request for a data writing process (write input output (I/O)) for writing data into the TPV or the like is issued from the host apparatus, the storage controller, as illustrated in FIG. 20A, allocates actual storage resources (physical capacity) from the storage pool to the TPV as is requested.
As illustrated in FIG. 20B, when there is the issuance of an UNMAP command or a physical area release instruction such as a format instruction of a volume from a host apparatus, the storage controller can release the allocation of the physical resources of an area that is in the unused state after the allocation of the physical resources.
Meanwhile, when data backup is operated using a storage virtualization function such as the TPV for a copy source and a copy destination, there may be an area of the copy source to which physical resources are not allocated. In such a case, in order to maintain the consistency of the copy source and the copy destination, there are cases where an area of the copy source to which physical resources are not allocated is regarded as an area in which “0” data is written, and the process of copying “0” data to a physical area of the copy destination.
However, such a process of copying “0” data is for making a backup of actually meaningless data. In other words, in the storage system, a data copy process that is originally unnecessary is performed, and there is a possibility that the process of copying data (data of an area of the copy source to which physical resources are allocated) desired to be backed up may be delayed. In addition, by copying “0” data of the area of the copy source to which physical resources are not allocated, a TPV of the copy destination is in a state in which physical resources are allocated thereto, whereby the physical resources are unnecessarily used.
In order to resolve such inconvenience, technologies are known in which, for example, when a virtual volume of the thin provisioning is copied, in a case where a storage area is not allocated to a copy source area, a storage area of a copy destination area corresponding thereto is released (for example, see Japanese Laid-open patent publication No. 2011-76572 and Japanese Laid-open patent publication No. 2010-271808).
As described above, according to the technologies for releasing a storage area of a copy destination that corresponds to a copy source area to which a storage area is not allocated, the delay of the copy process can be suppressed, and the amount of used physical resources can be reduced.
However, according to such technologies, there are cases where an inconvenience occurs such as the occurrence of the release of a TPV of a copy destination even when data is written into the TPV to which physical resources are allocated.
This is not limited to the OPC and the QOPC but is similarly applied to various backup techniques capable of updating data of the copy destination for making a backup of a virtual volume to which a physical area is variably allocated in accordance with the volume use status.